// 1. 导入express模块
const express = require('express')
// 2. 导入data新闻数据
const data = require('./data/newdata.json');
// 3. 创建express服务对象
const app = express()
// 4. 设置请求与响应关系
    // 4.1 定义新闻列表页route - (newsList)
    //需求1：将数据中newsTitle展示到列表页中
    app.get('/newsList',(req,res)=>{
        // 获取到对应的新闻标题

        // 字符串拼接方式1
        // let str = `
        //     <h1>新闻列表页</h1>
        //     <ul>
        // `;
        // // 根据data数据的数量 去遍历新闻列表li
        // // 需要写入一个参数 
        // // 2种方式 
        //     // query ?id=value
        //     // params /:id
        // for(let i =0; i<data.length;i++){
        //     str+= `<li><a href="/detail?id=${data[i].id}">${data[i].newsTitle}</a></li>`
        // }
        // str+=`</ul>`


        // 字符串拼接方式2
        // [
        //  <p><a href="/detail?id=${item.id}">${item.newsTitle}</a></p>,
        //  <p><a href="/detail?id=${item.id}">${item.newsTitle}</a></p>,
        //  <p><a href="/detail?id=${item.id}">${item.newsTitle}</a></p>,
        // ]
         //需求2: 给这些标题添加a链接，点击时 跳转到相应的新闻详情页
        let str = data.map(item=>`<p><a href="/detail?id=${item.id}">${item.newsTitle}</a></p>`).join('');

        // 渲染新闻列表页面
        res.send(str);
    })

   
    // 4.2 定义新闻详情页route
    //需求3：详情页路由设置
    app.get('/detail',(req,res)=>{
        // 获取id
        // console.log(req.query.id);
        let id = req.query.id;
        let {newsTitle,newsContent} = data.find(item=>item.id===id);
        // 创建一个html字符串
        let str = `
            <h2>新闻详情页,新闻id是：${id}</h2>
            <h3>${newsTitle}</h3>
            <p>${newsContent}</p>
        `;
        res.send(str)
    })
// 5. 监听一个端口号，并启动服务
app.listen(8080,()=>{
    console.log("启动成功");
})

